/**
 * 
 */
package jmine.tec.utils;

/**
 * Define um passo em uma iteracao. Simula o caso usual de closures.
 * 
 * @param <E> tipo do elemento da iteração
 * @author takeshi
 * @version 07/08/2007
 */
public interface IterationStep<E> {

    /**
     * Realiza o próximo passo da iteração. O valor de retorno é usado para indicar se a iteração deve ou não continuar - <code>false</code>
     * indica que uma iteração não deve continuar
     * 
     * @param it o elemento da iteração
     * @return boolean <code>true</code> se a iteração deve continuar, <code>false</code> caso contrário
     */
    boolean nextStep(final E it);
}
